import { createStore } from 'vuex'

//store里面的数据可理解成全局变量  类似后台的static里面的数据  store是vuex中的特性
export default createStore({
  state: {
    count:5,
    price:8.5,
    bankinfo:{"id":100,"bankName":"中国银行", "money":"100w"},


  },

  getters:{ //实时监听state值的变化
    getCount(state){
      return state.count
    },
  },



  mutations: {

    addCount(state,num){
      state.count=state.count+num;
    },

    delCount(state,num){
      if(state.count>0){
        state.count=state.count-num;
      }else {
        this.state.count=0;
      }
    },
    getBankInfo(state,msg){
      return state.bankinfo.bankName=msg
    },

    //step3: 被actions里面的setCount方法调用
    setCount(state,count){
      return state.count=count
    }
  },


  //下面的两个方法其实是一样的，使用了{commit}参数的方法，是对第一个方法的简写
  actions: {
   /* setCount:(context,count) =>{
      //step2: 调用mutations里面的setCount方法
      context.commit('setCount',count)
    }*/

    setCount:({commit},count) =>{
      commit('setCount',count)
    }

  },
  modules: {
  }
})
